In many packet-switched networks, data paths between two endpoints (e.g., customer locations) are defined by so-called “virtual circuits.” To facilitate routing of data based on virtual circuits, data packets include a virtual circuit identifier (VCID) field. The physical communication path through the packet-switched network used to transport a particular virtual circuit is defined by one or more nodes (e.g., switches, and/or routers) and/or one or more inter-nodal communication links. Routing tables are defined for and/or provided to the nodes such that, when data associated with a given virtual circuit is received, the nodes can determine to which node (and/or via which communication link) the data is to be forwarded. An example virtual circuit routing algorithm defines routing tables by choosing between similar cost communication paths using a round-robin selection method.